package remote;

import java.util.List;

import javax.ejb.Remote;

import entity.Abilita;
import exception.AbilitaException;

@Remote
public interface GestioneAbilitaRemote {

	public int creaAbilita(String nomeAbilita, String descrizioneAbilita,
			boolean isApprovata) throws AbilitaException;

	public void modificaAbilita(int idAbilita, String nomeAbilita,
			String descrizioneAbilita) throws AbilitaException;

	public void approvaAbilita(int idAbilita) throws AbilitaException;

	public void eliminaAbilita(int idAbilita) throws AbilitaException;

	public List<Abilita> getListaAbilita();

	public List<Abilita> getListaAbilitaDiUtente(String username);

	public List<Abilita> getListaAbilitaDaApprovareDiUtente(String username);

	public Abilita getAbilita(int idAbilita);

	public List<Abilita> getListaAbilitaDaApprovare();

	public void inserisciAbilitaInUtente(String username, int idAbilita);

	public void svuotaAbilitaInUtente(String username);

	public void eliminaAbilitaUtente(String username, int idAbility);

}
